わかりました｡
今はすべてが超複雑に見えると思いますが､ 理論的な話をするのではなく､
実際にこれらのスキルを実践する時期に来ているのだと思います｡
機械学習の専門家になるには､ 博士号を持っていて､ 数学と統計学にとても長けていなければならないと考えているのですね｡
しかし､ 実際にはそうでないことも多いのです｡
そこで､ このビデオでは､ 機械学習やデータサイエンスを行うことが実際にどういうことなのかを紹介したいと思います｡
そこで､ 今回の機械学習入門では､ 機械学習の専門家が何をするのかをお話ししましょう｡
まず､ 通常輸入されるのが一般的です｡
そのデータです｡
つまり､ ある種のCSVファイルがあって､ そのデータをインポートするのですが､ Pythonでそれを行う方法は知っていますよね｡
CSVデータファイルをインポートして､ プログラムで使用できるようにします｡
そして､ これらは今後のプロジェクトを行う際に実際にお見せする手順ですので､ ご安心ください｡
そこで､ まずはデータの取り込みです｡
次に､ 何をするか？
まあ､ データをきれいにするんですけどね｡
つまり､ 理想的な世界では､ 完璧なデータがあるのです｡
CSVファイルのすべての列､ すべての行が埋め尽くされ､ すべてが完璧です｡
しかし､ そうでない場合も多い｡
ラベルがなかったり､ セルやデータがなかったり､ 使えないデータが出てきたり､
本当にひどい状態です｡
ですから､ 後で使うときにエラーが出ないように､ あるいは間違った予測をしないように､ データをきれいにすることが理想です｡
さて､ 3つ目｡
機械学習の専門家とは､ どのような仕事をするのでしょうか｡
さて､ データを分割してみました｡
そして､ これが面白いんです｡
通常､ データをトレーニングセットと呼ばれるものに分割する｡
そして､ テストセット｡
これはどういうことでしょうか？
まあ､ データを分けるというのは､ 単純に決めるということなんですけどね｡
例えば､ 100行のExcelがあったとして､ そのうちの80行を学習セットとして機械に学習させることにします｡
そして､ 最後の20行がテストセットとなり､ 答えが正しいか間違っているかを機械に伝える必要があります｡
そのため､ 既存のデータでモデルの良し悪しを検証する方法が必要です｡
この点についてはまた検討しますが､ 通常､ Excelシートのデータを､ 入力として使うトレーニングセットと､
機械学習関数の出力をテストするためのテストセットに分割します｡
そして､ それは本当に簡単なことなのです｡
今までのデータの80％をトレーニングセット､ 20％をテストセットと決めればいいんです｡
この3つは簡単でしょう？
そして､ これからわかるように､ それらはとても簡単なことなのです｡
次に､ モデルを作成します｡
わかりました｡
これは本当に､ 本当に難しそうですよね？
データを分割していたのが､ 突然この関数､ つまりプログラムが作成するモデルを作ることになったのです｡
しかし､ 面白いことに､ モデルを作るときにすることは､ アルゴリズムをインポートすることである場合がほとんどです｡
自分でゼロからアルゴリズムを書くわけではありません｡
通常はPsych Learnのようなライブラリを使って､ 単純にインポートして､
決定木やK最近傍のような､ 使いたいアルゴリズムを決めます｡
そして､ その方法は､ 実際に今度の演習で見てみましょう｡
だから､ すごくいいんですよ｡
私たちのトレーニングセットに基づいてモデルを作成するアルゴリズムは､ すでに誰かが作ってくれているのです｡
また､ 機械学習の専門家というと､ 人が行うあらゆる数式を思い浮かべるというジョークがあります｡
しかし､ ほとんどの場合､ 人々は単にライブラリやアルゴリズムからインポートしているだけなのです｡
以上､ ワンライナーでした｡
次に､ 私たちは何をすると思いますか？
まあ､ 出力を確認するわけですからね｡
モデルを作成します｡
それが機能です｡
トレーニングセットという入力があり､ このモデルの出力をテストセットで確認するのです｡
そこで､ テストセットでは､ 出力が期待したものと一致しているかどうかを確認することになります｡
では､ 出力を確認したら､ どうすればいいのか｡
まあ､ 改善するんですけどね｡
だから､ ほとんどの場合､ 最初の1回は完全にうまくいきません｡
そこで､ テストセットに基づいて､ 何かを改善することができるかもしれないと言うのです｡
だから､ 機械学習の専門家として､ 余計なインプットをすることもあるでしょう｡
それは､ もしかしたらエクセルファイルの余分な列かもしれません｡
あるいは､ このモデルを作るために使用したモデルやアルゴリズムを変更したいかもしれません｡
それだけです｡
これが6つのステップで､ このステップを繰り返していくだけです｡
また､ 資料の中にリンクを貼っておきますので､ 常に頭の片隅に置いておいてください｡
でも今は､ 本当に基本的なことを学ぶだけです｡
ここでFacebookを見るんですね｡
これが､ 彼らの機械学習パイプラインのかなりの部分を占めているのです｡
そして､ この図は､ 今お話した6つのステップだけで理解できるはずです｡
私たちは､ 彼らの目標を定義します｡
つまり､ 何を実現したいのか？
データを集めるのです｡
データを解析するのです｡
つまり､ クリーニングをするのです｡
それをトレーニングデータとテストデータに分けた｡
そして､ モデルを作成し､ さまざまなアルゴリズムを試し､ 最終的にはテストデータをもとに､
その精度を確認するのです｡
そして､ 私たちのモデルや機能が､ 目標として定義したものと一致するまで､ またいろいろなことを試してみるのです｡
カッコイイと思いませんか？
Facebookの機械学習の仕組みを学ぶだけです｡
さて､ このビデオを終える前に､ ひとつ質問させてください｡
この一連の流れの中で､ 一番大変なことは何だと思いますか？
とてもとても簡単なことだと思わせてしまった｡
そうですね｡
考えてみてください｡
答えの準備はできている｡
最も難しいのは､ 実際にデータを取得することです｡ データが多ければ多いほど､ より多くのインプットを得ることができ､
モデルを改善するためのトレーニングセットを得ることができるからです｡
そして､ そうです｡ モデルを作るためにどんなアルゴリズムを使うか､ トレーニングセットでどんな入力を使うかを決めることができるのです｡
しかし､ データが増えれば増えるほど､ 機械学習の専門家としての選択肢は増える｡
そして､ 良いデータ､ いわゆるデータセットを集めるのは本当に大変なことなのです｡
GoogleやFacebookのような企業は､ それだけのデータを収集できる唯一の企業であるため､ 本当に､ 本当に貴重な存在なのです｡
だからこそ､ 機械学習は､ 大量のデータを持つこれらの企業が先駆的に取り組んでいるのです｡
なぜなら､ あなたと私は､ 機械学習の価値を高めるのに十分なデータを持っていないだけなのです｡
ほとんどの企業は､ データが十分でないため､ 実際には機械学習を必要としないし､ 優れた機械学習を導入することもできない｡
アマゾンのような大企業でないと機械学習は使えないので､ そのデータにアクセスできるのは彼らだけだからです｡
だからこそ､ 価値があるのです｡
モデルを共有することができる｡
彼らは気にしないが､ 通常､ データを非公開にするのは､ それが競争上の優位性につながるからだ｡
わかりました｡
さて､ これで機械学習のステップがわかりました｡
次に､ これらのステップを行うために､ どのようなツールを使えばよいかを学び､ いよいよ機械学習モデルの学習と構築を開始します｡
次回作でお会いしましょう｡
バイバイ｡